package com.bzkj.basicinfo.domain.basic;

import com.bzkj.common.core.domain.BaseEntity;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @Author：swj
 * @Desc
 * @Date：2025/9/28 14:49
 */
@Data
public class BasicSkuInfo extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /** 物理主键（自增，用于表内唯一标识） */
    private Integer id;

    /** 业务主键（商品唯一标识，外部系统关联用） */
    private String productId;

    /** 商品编码（业务系统内唯一编码） */
    private String productCode;

    /** 商品全称 */
    private String productName;

    /** 商品简称（用于快速显示） */
    private String productShortName;

    /** 商品规格（如：500mg/片） */
    private String productSpec;

    /** 包装规格（如：10片/盒） */
    private String packSpec;

    /** 商品类型（如：药品/器械） */
    private String productType;

    /** 商品分类（更细粒度的分类，如：抗生素/维生素） */
    private String productCategory;

    /** 计量单位（如：盒/瓶/支） */
    private String productUnit;

    /** 生产产地（如：上海/北京） */
    private String productionArea;

    /** 生产厂家（制造商全称） */
    private String manufacturer;

    /** 所属集团（厂家上级集团，如：XX医药集团） */
    private String affiliatedGroup;

    /** 启用状态（0：禁用，1：启用） */
    private Integer enableState;

    /** 创建人（操作人账号） */
    private String creator;

    /** 创建时间（默认当前时间） */
    private Date createTime;

    /** 最后修改人（操作人账号） */
    private String modifier;

    /** 最后修改时间（默认当前时间，更新时自动刷新） */
    private Date modifyTime;

    /** 批准文号（如药品的国药准字号） */
    private String approvalNum;

    /** 生产许可证号（厂家生产资质编号） */
    private String productLicenseNum;

    /** 注册证号（如医疗器械注册证号） */
    private String registrationNum;

    /** 储存条件（如：阴凉处保存/2-8℃冷藏） */
    private String storageCondition;

    /** 适应症（药品适用病症） */
    private String indication;

    /** 禁忌症（禁止使用的情况） */
    private String contraindication;

    /** 用法用量（如：口服，一次2片，一日3次） */
    private String administrationDosage;

    /** 不良反应（使用后可能出现的副作用） */
    private String untowardReaction;

    /** 不含税单价（精确到分） */
    private BigDecimal price;

    /** 备注信息（补充说明） */
    private String remark;

    /** 商品条码（EAN-13等标准条码） */
    private String productBarcode;

    /** 助记码（拼音首字母或简码，用于快速检索） */
    private String mnemonicCode;

    /** 自定义扩展字段1（根据业务需求存储额外信息） */
    private String customField1;

    /** 自定义扩展字段2 */
    private String customField2;

    /** 自定义扩展字段3 */
    private String customField3;

    /** 自定义扩展字段4 */
    private String customField4;

    /** 自定义扩展字段5 */
    private String customField5;

    /** 剂型（如：片剂/注射剂/胶囊剂） */
    private String formulation;

    /** 含税单价（精确到分） */
    private BigDecimal taxPrice;

    /** 税率（如：13% 存储为13.00） */
    private BigDecimal taxRate;

    /** 售价（对外销售价格，精确到分） */
    private BigDecimal sellPrice;

    /** 最小包装数量（如：1盒含10支，此处存10） */
    private Integer barNum;

    // 单位名称
    private String unitName;
    // 仓库id
    private String stoId;
    // 仓库名称
    private String stoName;
}
